package com.vo
{
	/**
	 * 模版静态数据类
	 * 
	 */	
	public class TemplateInfo
	{
		/**
		 * 服务端Message文件模版 
		 */		
		public static var S_CLASS:String = "package com.proto;\n" +
			"\$packageTemplate\n\n"+
			"\tpublic class \$ClassName extends GameMessage {\n" +
			"\$propertyTemplete\n" +
			"\$methodTemplete\n" +
			"\t@Override\n" +
			"\tpublic String getClassName() {\n" +
			"\t\treturn \"\$ClassName\";\n"+
			"\t}\n"+
			"\t@Override\n"+
			"\tpublic Object[] getAttributes() {\n"+
			"\t\tObject[] attr = new Object[\$propertyLen];\n"+
			"\$ArrTemplete\n"+
			"\t\treturn attr;\n"+
			"\t}\n"+
			"}";
		/**
		 * 服务端导入包名
		 * */
		public static var S_PACKAGETEMPLATE:String="\timport $importPackageName;";
		/**
		 * 服务端属性模版 
		 */		
		public static var S_PROPERTYTEMPLATE:String = "\tprivate $propertyType $propertyName;";
		/**
		 * 服务端方法模版
		 */		
		public static var S_METHODTEMPLATE:String = "\tpublic void set$_propertyName($_propertyType $propertyName){\n"+
			"\t\tthis.$propertyName = $propertyName;\n"+
			"\t}\n"+
			"\tpublic $_propertyType get$_propertyName(){\n" +
			"\t\treturn this.$propertyName;\n"+
			"\t}\n";
		/**
		 * 服务端匹配数组模版
		 * */
		public static var s_objTemplate:String = "\t\tattr[$index] = new Object[]{\"$propertyName\",\"$propertyType\",\"$defaultValue\"};";


		/**
		 * 客户端Message文件模版
		 */		
		public static var C_Class:String = "using System;\nusing System.Collections;\n\nnamespace com.proto\n{\n\tpublic class $ClassName : Message {\n\t\tpublic $ClassName ()\n\t\t{\n\t\t}\n" +
			"\n\n$getMethodT\n" +
			"\t\tpublic override string getClassName()\n\t\t{\n\t\t\treturn \"$ClassName\";\n\t\t}\n\n\n" +
			"\t\tpublic override Object[] getAttributes()\n" +
			"\t\t{\n" +
			"\t\t\tObject[] attr = new Object[$propertyLen];\n" +
			"$ArrTemplete" +
			"\t\t\treturn attr;\n\t\t}\n\t}\n}";

		/**
		 * 客户端方法模版 
		 */		
		public static var C_getMethodT:String = "\t\tprivate $_propertyType _$propertyName;\n" +
			"\t\tpublic $_propertyType $propertyName\n" +
			"\t\t{\n\t\t\tget\n\t\t\t{\n\t\t\t\treturn _$propertyName;\n" +
			"\t\t\t}\n\t\t\tset\n\t\t\t{\n\t\t\t\t_$propertyName = value;\n\t\t\t}\n\t\t}\n\n\n";
		
		public static var C_ArrTemplete:String="\t\t\tattr[$index] = new Object[]{\"$propertyName\",\"$propertyType\",\"$propertyValue\"};\n";
		
		
		
		public function TemplateInfo()
		{
		}
	}
}